package controllers

import (
	"fyouku/models"
	"github.com/astaxie/beego"
)

type  DemoController struct {
	beego.Controller
}
// 这里的写法和default一样了我们上边定义了结构体,然后采用输出。
// @router /demo/hello [get]
func (t *DemoController)GetHello()  {
	var  (
		title string
	)
	title="今天是下雨天气"
	t.Ctx.WriteString(title)
}
// 通过id获取用户名
// @router /user/username [get]
func (t *DemoController)GetUserName()  {
	var  (
		id int
		err error
		title string
		user models.User
	)
	// 接受浏览器的参数，然后在Model获取数据库信息
	id,err=t.GetInt("id")
	user,err=models.UserInfo(id)
	if err==nil{
		title=user.Name
	}else {
		title="抱歉服务器错误"
	}
	// 输出信息
	t.Ctx.WriteString(title)
}
// 实现用户注册的功能
func (t *DemoController)Save()  {
	var (
		name string
		mobile 	string
		avatar string
		err error
		title string
		user models.User
	)
	name=t.GetString("name")
	mobile=t.GetString("mobile")
	avatar=t.GetString("avatar")
	err=models.Save(name,mobile,avatar)
	if err==nil {
		title="恭喜保存成功"+user.Name+user.Mobile+user.Avatar
	}else {
		title="报错出错了"
	}
	t.Ctx.WriteString(title)
}
// 实现修改用户名的操作
func (t *DemoController)UpdateUsername()  {
	var  (
		id int
		name string
		title string
		err error
	)
	id,err=t.GetInt("id")
	name=t.GetString("name")
	err=models.UpdateUsername(id,name)
	if err==nil {
		title="恭喜修改成功"
	}else {
		title="抱歉,修改错误"
	}
	t.Ctx.WriteString(title)
}
func (t *DemoController)Delete()  {
	var(
		id int
		title string
		err error
	)
	id,err=t.GetInt("id")
	err=models.Delete(id)
	if err==nil {
		title="删除成功"
	}else {
		title="删除失败"
	}
	t.Ctx.WriteString(title)
}
// 获取用户列表
func (t *DemoController) List()  {
	var (
		err error
		title string
		users []models.User
	)
	users,err=models.List()
	if err==nil{
		// 输出用户名
		for _,v:=range users{
			title+=v.Name+","
		}
	}else {
		title="抱歉没有人了"
	}
	t.Ctx.WriteString(title)
}